#include <iostream>
#include <set>
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <vector>
using namespace std;
//callback function
void print(int ele)
{
    cout << ele << " ";
}
//functor
class PrintInt
{

public:
    void operator()(int ele)
    {
        cout << ele << " ";
    }
};

int main_1()
{
    clock_t t=clock();
    vector<int> v1;
    set<int,greater<int> > s2;
    int res;
    srand((unsigned int)time(nullptr));
    for (int i=0; i<10 ; i++ )
    {
        res=rand()%100+1;
        s2.insert(res);
        v1.push_back(res);
    }
    for (set<int,greater<int> >::const_iterator it=s2.begin(); it!=s2.end() ; it++ )
    {
        cout << *it << " ";
    }
    printf("\n");
//    t=clock()-t;
//    printf("%.4f",(float)t/CLOCKS_PER_SEC);
    for_each(v1.begin(),v1.end(),print);
    printf("\n");
    for_each(v1.begin(),v1.end(),PrintInt());

    return 0;
}
